<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>品牌管理</title>
<meta
	content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"
	name="viewport">
<link rel="stylesheet" href="../plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet"
	href="../plugins/adminLTE/css/skins/_all-skins.min.css">
<link rel="stylesheet" href="../css/style.css">
<script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="../plugins/bootstrap/js/bootstrap.min.js"></script>

<script type="text/javascript" src="../plugins/angularjs/angular.min.js"></script>

<!-- 分页组件开始 -->
<script src="../plugins/angularjs/pagination.js"></script>
<link rel="stylesheet" href="../plugins/angularjs/pagination.css">
<!-- 分页组件结束 -->



<script type="text/javascript">
		/*//angular模块,多模块使功能互相隔离
		var myApp=angular.module("pinyougou",[]);
		//angular控制器,控制层,发送和接受后台参数的地方,mvc的contorller
		myApp.controller("brandController",function($scope,$http){
			//控制层发送请求,查询所有品牌数据
			$http.get("http://localhost:9101/brand/findAll.do").success(function(data){
				//模型list,接受返回的数据
				$scope.list=data;
			});
		})
		*/
		//分页功能的实现
		//创建模块并引入pagination模块
		var mainApp=angular.module("pinyougou",["pagination"]);
		
		//angularJs的代码分离.前端代码分为服务层和控制层代码,将于后端交互的部分封装如service层
		mainApp.service("brandService",function($http){
			//分页的请求
			this.findPage=function(page,size){
				return $http.get("http://localhost:9101/brand/findPage.do?page="+page+"&size="+size)
			}
		});
		
		//实现分页的前端控制器
		mainApp.controller("brandController",function($scope,$http,brandService){//将自定义服务注入控制器
			//paginationConf
			//定义页面重新加载函数
			$scope.reloadList=function(){
				/*$scope.findPage($scope.paginationConf.currentPage
					,$scope.paginationConf.itemsPerPage);*/
				//条件查询
				search($scope.paginationConf.currentPage
					,$scope.paginationConf.itemsPerPage);
					
				}
			//定义paginationConf,定义pagenationConf的五个参数
			//totalItems,currentPage,numberOfPages,itemsPerPage,perPageOptions
			$scope.paginationConf={
				currentPage:1,//当前页
				totalItems:10,//总条数
				numberOfPages:10,//总页数,
				itemsPerPage:10,//每页条数
				perPageOptions:[10,20,30],//每页条数的数组选择框
				onChange:function(){
					$scope.reloadList();
				}
			};
			//分页函数
			$scope.findPage=function (page,size){
				brandService.findPage(page,size).success(function(data){
					//模型list,接受返回的数据
					$scope.list=data.rows;
					$scope.paginationConf.totalItems=data.total;
				});
			}
			//以上是所有分页相关
			
			//新增
			//ng-click="entity={}",这是一个清空输入框的绝妙写法
			$scope.save=function(){
				$http.post("http://localhost:9101/brand/save.do",$scope.entity).success(function(data){
					if(data.success){
						//新增之后,刷新页面
						$scope.reloadList();
						alert(data.message);
					}else{
						alert(data.message);
					}
				});
			}
			//更新
			$scope.findOne=function(id){
				//要回显数据
				$http.get("http://localhost:9101/brand/findOne.do?id="+id).success(function(data){
					$scope.entity=data;
				});
			}
			//批量删除删除,没有实现后台功能,前台代码了解一下
			//定义数组,存放选中的id
			$scope.selectedIds=[];
			
			$scope.updateSelection=function($event,id){
				if($event.target.checked){
					//checkbox被选中,将id加入数组
					$scope.selectedIds.push(id);
				}else{
					//取消选择时的点击事件,将id移出数组
					var index=$scope.selectedIds.indexOf(id);//这个方法跟java相似
					$scope.selectedIds.splice(index);
				}
			}
			
			$scope.dele=function(){
				if(comfirm("确定删除")){
					$http.get("http://localhost:9101/brand/dele.do?ids="+$scope.selectedIds).success(function(data){
						if(data.success){
							$scope.reloadList();
							alert(data.message);
						}else{
							alert(data.message);
						}
					});					
				}
			}
			
			//分页
			$scope.searchEntity={};//默认无条件
			//条件查询
			function search(page,size){
				$http.post("http://localhost:9101/brand/search.do?page="+page+"&size="+size,$scope.searchEntity).success(function(data){
					$scope.list=data.rows;//显示当前页数据 	
					$scope.paginationConf.totalItems=data.total;//更新总记录数 
				});
			}
		})
		
		
	
	</script>

</head>
<body class="hold-transition skin-red sidebar-mini" ng-app="pinyougou"
	ng-controller="brandController">
	<!-- .box-body -->
	<div class="box-header with-border">
		<h3 class="box-title">品牌管理</h3>
	</div>

	<div class="box-body">

		<!-- 数据表格 -->
		<div class="table-box">

			<!--工具栏-->
			<div class="pull-left">
				<div class="form-group form-inline">
					<div class="btn-group">
						<button type="button" class="btn btn-default" title="新建"
							data-toggle="modal" data-target="#editModal" ng-click="entity={}">
							<i class="fa fa-file-o"></i> 新建
						</button>
						<button type="button" class="btn btn-default" title="删除"
							ng-click="dele()">
							<i class="fa fa-trash-o"></i> 删除
						</button>
						<button type="button" class="btn btn-default" title="刷新"
							onclick="window.location.reload();">
							<i class="fa fa-refresh"></i> 刷新
						</button>
					</div>
				</div>
			</div>
			<div class="box-tools pull-right">
				<div class="has-feedback">
					品牌名称:<input ng-model="searchEntity.name"> 品牌首字母:<input
						ng-model="searchEntity.firstChar">
					<button class="btn btn-default" ng-click="reloadList()">查询</button>
				</div>
			</div>
			<!--工具栏/-->

			<!--数据列表-->
			<table id="dataList"
				class="table table-bordered table-striped table-hover dataTable">
				<thead>
					<tr>
						<th class="" style="padding-right: 0px"><input id="selall"
							type="checkbox" class="icheckbox_square-blue"></th>
						<th class="sorting_asc">品牌ID</th>
						<th class="sorting">品牌名称</th>
						<th class="sorting">品牌首字母</th>
						<th class="text-center">操作</th>
					</tr>
				</thead>
				<tbody>
					<tr ng-repeat="entity in list">
						<td><input type="checkbox"
							ng-click="updateSelection($event, entity.id)"></td>
						<td>{{entity.id}}</td>
						<td>{{entity.name}}</td>
						<td>{{entity.firstChar}}</td>
						<td class="text-center">
							<button type="button" class="btn bg-olive btn-xs"
								data-toggle="modal" data-target="#editModal"
								ng-click="findOne(entity.id)">修改</button>
						</td>
					</tr>

				</tbody>
			</table>
			<!--数据列表/-->
			<tm-pagination conf="paginationConf"></tm-pagination>
		</div>
		<!-- 数据表格 /-->




	</div>
	<!-- /.box-body -->

	<!-- 编辑窗口 -->
	<div class="modal fade" id="editModal" tabindex="-1" role="dialog"
		aria-labelledby="myModalLabel" aria-hidden="true">
		<div class="modal-dialog">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal"
						aria-hidden="true">×</button>
					<h3 id="myModalLabel">品牌编辑</h3>
				</div>
				<div class="modal-body">
					<table class="table table-bordered table-striped" width="800px">
						<tr>
							<td>品牌名称</td>
							<td><input class="form-control" placeholder="品牌名称"
								ng-model="entity.name"></td>
						</tr>
						<tr>
							<td>首字母</td>
							<td><input class="form-control" placeholder="首字母"
								ng-model="entity.firstChar"></td>
						</tr>
					</table>
				</div>
				<div class="modal-footer">
					<button class="btn btn-success" data-dismiss="modal"
						aria-hidden="true" ng-click="save()">保存</button>
					<button class="btn btn-default" data-dismiss="modal"
						aria-hidden="true">关闭</button>
				</div>
			</div>
		</div>
	</div>

</body>
</html>